drop proc dbo.Consulta163
go

CREATE PROCEDURE [dbo].[Consulta163]
(
  @cabezero Varchar(8000),
  @Resul    Varchar(8000)  OutPut,
  @DataSet  nText,
  @Validar  Int
)

AS
BEGIN
  Set NoCount On
  ------------------------------------------
  --Catalogo de categorias
  ------------------------------------------

  --Variables de Trabajo
  Declare @Registro  Int
  Declare @Valor1    VarChar(8000)
  Declare @Valor2    VarChar(8000)
  Declare @Desc0     VarChar(8000)
  Declare @Desc1     VarChar(8000)
  Declare @Desc2     VarChar(8000)
  Declare @Desc3     VarChar(8000)
  Declare @Desc4     VarChar(8000)
  Declare @Desc5     VarChar(8000)
  Declare @Desc6     VarChar(8000)
  Declare @Desc7     VarChar(8000)
  Declare @Desc8     VarChar(8000)
  Declare @Desc9     VarChar(8000)
  Declare @Desc10    VarChar(8000)
  Declare @Desc11    VarChar(8000)
  Declare @Desc12    VarChar(8000)
  Declare @Desc13    VarChar(8000)
  Declare @Desc14    VarChar(8000)
  Declare @Desc15    VarChar(8000)
  Declare @Sql       VarChar(8000)
  Declare @Resul2    Varchar(8000)
  
  --Asignar Valores
  Select @Desc0   = ''
  Select @Desc1   = ''
  Select @Desc2   = '' 
  Select @Desc3   = ''
  Select @Desc4   = ''
  Select @Desc5   = ''
  Select @Desc6   = ''
  Select @Desc7   = '' 
  Select @Desc8   = ''
  Select @Desc9   = ''
  Select @Desc10  = ''
  Select @Desc11  = ''
  Select @Desc12  = '' 
  Select @Desc13  = ''
  Select @Desc14  = ''
  Select @Desc15  = '' 
  Select @Resul   = ''
  Select @Resul2  = ''

  --Obtener los Parametros
 
  -- Validar Parametros
  Exec Emulador_SepararCadena 'V1',  @Cabezero, '|', @Valor1 Output --Fecha
 
  If @Validar = 10               
   Begin
		Select @Desc10= Fecha from PVF..Caja_Corte where idCorte=(select max(idcorte) from PVF..Caja_Corte)
		select @Desc7=0
		Select @Desc7=Extracciones from PVF..Caja_Corte
		select @Desc0 = IsNull(Max(IdCaja),-1) From PVF..caja_Propiedades

		Select @Desc1=ISNull(Sum( ((vd.Cantidad*vd.CostoUni*((vd.flete/100)+1))/(1-(vd.margen/100)))*(1-(vd.descuento/100)) ),0) From PVF..Ventas v
		INNER JOIN PVF..Venta_Detalles vd on v.idventa=vd.idventa 
		Where v.idTipoPago=1 and v.fecha<=@valor1 and v.fecha>=@Desc10
		
		select @Desc2=IsNull(Sum(c.Monto),0)  from PVF..Caja_Entradas c Where  c.idCaja = @desc0   and c.Fecha<=@valor1
		select @Desc3= 
						(select IsNull(Sum(c.Monto),0)  from PVF..Caja_Entradas c Where  c.idCaja = @desc0   and c.Fecha<=@valor1  )
+
						(Select ISNull(Sum( ((vd.Cantidad*vd.CostoUni*((vd.flete/100)+1))/(1-(vd.margen/100)))*(1-(vd.descuento/100)) ),0) From PVF..Ventas v
							INNER JOIN PVF..Venta_Detalles vd on v.idventa=vd.idventa 
							Where v.idTipoPago=1 and v.fecha<=@valor1 and v.fecha>=@Desc10)
		select @Desc4=IsNull(Sum(c.Monto),0)  from PVF..Caja_Salidas c Where  c.idCaja = @desc0 and c.Fecha<=@valor1
		select @Desc5=Fondo+@Desc3-@Desc4 from PVF..Caja_propiedades where idCaja=@Desc0
		select @Desc6=Fondo from PVF..Caja_propiedades where idCaja=@Desc0
		Select @Registro = @@RowCount	 
		
	 
   End
 
 If @Validar = 11
   Begin
		Select @Desc0= Fecha from PVF..Caja_Corte where idCorte=(select max(idcorte) from PVF..Caja_Corte)
		Select @Registro = @@RowCount	
   End

  If @Registro = 0
   Begin
      If @Validar = 10 
         Select @Resul = '2R=ERROR|2M=No existe caja activa|'
      IF @Validar = 11 
		begin 
			Select @Desc0= getdate()
			Select @Resul = '2R=OK|V1='+@Desc0+'|'
		end

   End
  Else
    Begin
	  If @Validar = 10 
	     Select @Resul = '2R=OK|V1='+@Desc1+'|V2='+@Desc2+'|V3='+@Desc3+'|V4='+@Desc4+'|V5='+@Desc4+'|V6='+@Desc5+'|V7='+@Desc6+'|V8='+@Desc7+'|'
      If @Validar = 11 
	     Select @Resul = '2R=OK|V1='+@Desc0+'|'
    End

  Set NoCount OFF
END


